home *** CD-ROM | disk | FTP | other *** search
/ Softdisk Supreme / Softdisk Supreme.iso / pc / DSK Files / 0-49 / SD024b.dsk / DUNGEON OF ARBEGLA.bas < prev    next >
BASIC Source File  |  2003-06-12  |  12KB  |  432 lines

  1. 1 V =  -16336
  2. 10 B$ = "<CTRL-G>"
  3. 100  HOME 
  4. 110  PRINT "          THE APPLE DUNGEON"
  5. 120  PRINT : PRINT "              APPLE II"
  6. 130  PRINT : PRINT : PRINT : PRINT "A FANTASY GAME FOR THE PRE-ALGEBRA CLASS"
  7. 160  GOSUB 440
  8. 170  GOSUB 440
  9. 180  HOME : DIM A(9,9,2)
  10. 190  PRINT " YOU WILL BE TELEPORTED TO..."
  11. 200  PRINT 
  12. 210  PRINT "THE ALGEBRA DUNGEON"
  13. 220  PRINT : PRINT 
  14. 240 MA = 0:CA = 0:G = 1000:M1 = 1:K = 0:TR = 0
  15. 250  PRINT "ENTER YOUR CHARACTER'S NAME"
  16. 260  INPUT A$
  17. 270  GOSUB 440
  18. 280  PRINT : PRINT "YOU CARRY 1000 PIECES OF GOLD WITH YOU"
  19. 290  PRINT : GOSUB 440: PRINT A$;"...YOU ARE ON YOUR WAY"
  20. 300  GOSUB 440
  21. 310  GOSUB 480
  22. 320  HOME 
  23. 330  PRINT "YOU HAVE ARRIVED AT...."
  24. 340  PRINT 
  25. 350  PRINT "THE ALGEBRA DUNGEON...LEVEL 2"
  26. 360  PRINT 
  27. 370  PRINT "YOU WILL ENCOUNTER MONSTERS AND"
  28. 380  PRINT "THIEVES, AND GOLD...BUT WATCH"
  29. 390  PRINT "YOUR STEP.........."
  30. 400  PRINT "TRAP DOORS CAN BE COSTLY...."
  31. 410  FOR AB = 1 TO 4540
  32. 420  NEXT AB
  33. 430  GOTO 1010
  34. 440  REM  DELAY
  35. 450  FOR Z2 = 1 TO 908
  36. 460  NEXT Z2
  37. 470  RETURN 
  38. 480  REM  SET UP 2 LEVEL DUNGEON
  39. 490  FOR X = 1 TO 8
  40. 500  FOR Y = 1 TO 8
  41. 510  FOR Z = 1 TO 2
  42. 520 A(X,Y,Z) =  INT( RND(1) *7 +1)
  43. 530  NEXT Z
  44. 540  NEXT Y
  45. 550  NEXT X
  46. 560  REM  TRAP DOORS #8
  47. 570 H =  INT( RND(1) *3 +1)
  48. 580  FOR A = 1 TO 2
  49. 590  FOR N = 1 TO H
  50. 600 X =  INT( RND(1) *8 +1)
  51. 610 Y =  INT( RND(1) *8 +1)
  52. 620 A(X,Y,A) = 8
  53. 630  NEXT N
  54. 640  NEXT A
  55. 650  REM  STAIRWAYS #9
  56. 660 S =  INT( RND(1) *4 +1) +2
  57. 670  FOR A = 1 TO 2
  58. 680  FOR N = 1 TO S
  59. 690 X =  INT( RND(1) *8 +1)
  60. 700 Y =  INT( RND(1) *8 +1)
  61. 710 A(X,Y,A) = 9
  62. 720  NEXT N
  63. 730  NEXT A
  64. 740  RETURN 
  65. 750  REM  STAIRWAY
  66. 760 L1 = L1 -1
  67. 770  PRINT "YOU WALK UP THE STAIRWAY"
  68. 780  GOSUB 440
  69. 790  PRINT "THE ENCHANTED KEY....OPENS THE LOCK"
  70. 800  GOSUB 440
  71. 810  IF L1 = 0  THEN 870
  72. 820 MA = 0:K = 0:K4 =  INT( RND(1) *4 +1) +4
  73. 830  PRINT :CB = CA +K4
  74. 840  PRINT "YOU ARE AT.....LEVEL 1"
  75. 850  GOSUB 440: GOSUB 440: GOSUB 440: GOSUB 440
  76. 860  GOTO 1070
  77. 870  PRINT "YOU FOUND YOUR WAY ..."
  78. 880  PRINT "...OUT OF THE ALGEBRA DUNGEON"
  79. 890  PRINT 
  80. 900  PRINT "YOU HAVE AQUIRED ";G;" PEICES OF GOLD"
  81. 910  GOSUB 930
  82. 920  GOTO 1910
  83. 930 GG = G +100: REM  RATING
  84. 940 R =  INT((GG *CA -7000 +1)/M1)
  85. 960  PRINT : PRINT "THE GAME RATING IS ";R
  86. 970  PRINT : IF G < = 0  THEN 4280
  87. 980  PRINT "YOU TOOK ";M1;" TURNS TO FIND THE WAY OUT,"
  88. 990  PRINT "AND ANSWERED ";CA;" QUESTIONS CORRECTLY"
  89. 1000  PRINT "OUT OF ";TR;" QUESTIONS ASKED.": RETURN 
  90. 1010  REM  SET UP 1ST MOVE
  91. 1020 C =  INT( RND(1) *8 +1)
  92. 1030 D =  INT( RND(1) *8 +1)
  93. 1040 A(C,D,2) = 1
  94. 1050 L1 = 2
  95. 1060 K4 =  INT( RND(1) *4 +1) +4
  96. 1070  REM  PLAYER MOVE ROUTINE
  97. 1080  HOME 
  98. 1090 A = A(C,D,L1)
  99. 1100  ON A GOSUB 2220,2280,2340,2340,2390,2700,2750,2790,3070
  100. 1120  PRINT 
  101. 1130  PRINT : IF G < = 0  THEN 1820
  102. 1140  PRINT A$;", WHAT IS YOUR ACTION OR MOVE?"
  103. 1160  PRINT : PRINT "(N)ORTH, (E)AST, (S)OUTH, (W)EST
  104. 1170  PRINT "(U)P, (M)AP, (G)OLD"
  105. 1180  INPUT M1$
  106. 1190 M1 = M1 +1: IF K = 0  AND M1 > = 140/L1  THEN 4190
  107. 1200  IF M1$ = "N"  THEN 1290
  108. 1210  IF M1$ = "E"  THEN 1340
  109. 1220  IF M1$ = "S"  THEN 1390
  110. 1230  IF M1$ = "W"  THEN 1440
  111. 1240  IF M1$ = "U"  THEN 1490
  112. 1250  IF M1$ = "M"  THEN 1610
  113. 1260  IF M1$ = "G"  THEN 1670
  114. 1280  PRINT : GOTO 1120
  115. 1290  REM  NORTH MOVEMENT
  116. 1300  IF A = 7  THEN 1710
  117. 1310  IF (D -1) = 0  THEN 1980
  118. 1320 D = D -1
  119. 1330  GOTO 1070
  120. 1340  REM  EAST MOVE
  121. 1350  IF A = 6  THEN 1770
  122. 1360  IF (C +1) = 9  THEN 2030
  123. 1370 C = C +1
  124. 1380  GOTO 1070
  125. 1390  REM  SOUTH MOVE
  126. 1400  IF A = 7  THEN 1710
  127. 1410  IF (D +1) = 9  THEN 2050
  128. 1420 D = D +1
  129. 1430  GOTO 1070
  130. 1440  REM  WEST MOVE
  131. 1450  IF A = 6  THEN 1770
  132. 1460  IF (C -1) = 0  THEN 2070
  133. 1470 C = C -1
  134. 1480  GOTO 1070
  135. 1490  HOME : REM  STAIRWAY UP
  136. 1500  IF A < >9  THEN 1580
  137. 1510  IF K = 1  THEN 750
  138. 1530  PRINT : PRINT "YOU CANNOT GO UP THE STAIRWAY"
  139. 1540  PRINT "YOU DON'T HAVE THE KEY"
  140. 1550  GOSUB 440
  141. 1570  PRINT : GOTO 1120
  142. 1580  PRINT "YOU ARE NOT AT A STAIRWAY"
  143. 1590  GOSUB 440
  144. 1600  GOTO 1120
  145. 1610  HOME : REM  MAP
  146. 1620  IF MA = 1  THEN 2090
  147. 1630  PRINT "YOU DON'T HAVE THE MAP"
  148. 1650  PRINT : GOSUB 440
  149. 1660  GOTO 1120
  150. 1670  REM  GOLD PIECES
  151. 1680  HOME : PRINT "YOU HAVE ";G;" PIECES OF GOLD WITH YOU"
  152. 1700  PRINT : GOTO 1120
  153. 1710  REM  EW CORRIDOR
  154. 1720  PRINT 
  155. 1730  HOME : PRINT "YOU ARE IN AN EAST-WEST CORRIDOR"
  156. 1740  PRINT "YOU CAN ONLY GO EAST OR WEST"
  157. 1750  PRINT 
  158. 1760  GOTO 1120
  159. 1770  REM  NS CORRIDOR
  160. 1780  PRINT 
  161. 1790  HOME : PRINT "YOU ARE IN A NORTH-SOUTH CORRIDOR"
  162. 1800  PRINT "YOU CAN ONLY GO NORTH OR SOUTH"
  163. 1810  GOTO 1750
  164. 1820  REM  GOLD ZERO
  165. 1830  GOSUB 440: GOSUB 440
  166. 1840  PRINT 
  167. 1845  HOME : FOR I = 1 TO 10: PRINT B$: NEXT I
  168. 1850  PRINT "YOU LOST ALL YOUR GOLD AND YOU WERE"
  169. 1860  PRINT "...UNABLE TO MEET THE DEMANDS OF"
  170. 1870  PRINT "....THE ALGEBRA DUNGEON..."
  171. 1880  PRINT : PRINT 
  172. 1890  PRINT "YOU CAN ONLY GO NORTH OR SOUTH"
  173. 1900  GOSUB 930
  174. 1910  PRINT 
  175. 1920  PRINT "ANOTHER GAME?"
  176. 1930  PRINT "ENTER '1'-YES  '0'-NO"
  177. 1940  INPUT AA
  178. 1950  IF AA < >1  THEN 1970
  179. 1960  HOME : GOTO 210
  180. 1970  PRINT  CHR$(4)"RUN MENU"
  181. 1980  HOME : PRINT "YOU ARE AT THE NORTH WALL"
  182. 1990  PRINT "YOU CANNOT PASS THROUGH"
  183. 2000  PRINT 
  184. 2010  PRINT "TRY ANOTHER DIRECTION?"
  185. 2020  GOTO 1120
  186. 2030  HOME : PRINT "YOU ARE AT THE EAST WALL"
  187. 2040  GOTO 1990
  188. 2050  HOME : PRINT "YOU ARE AT THE SOUTH WALL"
  189. 2060  GOTO 1990
  190. 2070  HOME : PRINT "YOU ARE AT THE WEST WALL"
  191. 2080  GOTO 1990
  192. 2090  REM  DISPLAY MAP
  193. 2100  HOME 
  194. 2110  PRINT 
  195. 2130  FOR Q = 1 TO 8
  196. 2140  FOR N = 1 TO 8
  197. 2150  IF C = N  AND D = Q  THEN  PRINT "P1 ";: GOTO 2180
  198. 2160 S1 = A(N,Q,L1)
  199. 2170  ON S1 GOSUB 3110,3110,3130,3130,3150,3170,3190,3210,3220
  200. 2180  NEXT N
  201. 2190  PRINT 
  202. 2200  NEXT Q
  203. 2210  GOTO 1120
  204. 2220  REM  EMPTY ROOM
  205. 2230  PRINT 
  206. 2240  PRINT "YOU ARE IN A COLD AND DARK"
  207. 2250  PRINT ".............EMPTY CHAMBER"
  208. 2260  PRINT 
  209. 2270  RETURN 
  210. 2280  REM  EMPTY ROOM 2
  211. 2290  PRINT 
  212. 2300  PRINT "YOU ARE IN A DAMP AND MISTY"
  213. 2310  PRINT "              EMPTY CHAMBER"
  214. 2320  PRINT 
  215. 2330  RETURN 
  216. 2340 TR = TR +1: HOME : GOSUB 4140
  217. 2350 M4 =  INT( RND(1) *6 +1)
  218. 2360  ON M4 GOSUB 3240,3370,3540,3670,4360,4420
  219. 2370  PRINT 
  220. 2380  RETURN 
  221. 2390  HOME : FOR I = 1 TO 5: PRINT B$: NEXT I: PRINT "THERE IS A THIEF IN THIS CHAMBER"
  222. 2400 A(C,D,L1) = 2
  223. 2410  GOSUB 440
  224. 2420 G4 =  INT( RND(1) *350/L1 +1)
  225. 2430 Y =  INT( RND(1) *8 +1)
  226. 2440  IF Y < = 3  THEN 2610
  227. 2450  PRINT 
  228. 2460  PRINT ".......HE SURPRISES YOU": PRINT 
  229. 2470  GOSUB 440
  230. 2480  PRINT "AS HE QUICKLY PASSES BY YOU HE"
  231. 2490  PRINT "SNATCHES...";G4;" PIECES OF GOLD": PRINT 
  232. 2500 G = G -G4
  233. 2510  REM  LOOK FOR MAP
  234. 2520  IF MA = 1  THEN  RETURN 
  235. 2530 MA =  INT( RND(1) *4 +1): IF MA < = 2  THEN MA = 1
  236. 2540  IF MA = 1  THEN 2570
  237. 2550  RETURN 
  238. 2560  GOSUB 440
  239. 2570  PRINT "YOU SEARCH THE CHAMBER AND"
  240. 2580  GOSUB 440
  241. 2585  FOR I = 1 TO 5: PRINT B$: NEXT I
  242. 2590  PRINT "YOU.....FIND A MAP"
  243. 2600  RETURN 
  244. 2610  PRINT "YOU SURPRISED THE THIEF...."
  245. 2620  PRINT : GOSUB 440
  246. 2630  PRINT "AS HE RUNS OUT HE DROPS...."
  247. 2640  PRINT "....";G4;" PIECES OF GOLD"
  248. 2650  PRINT "YOU PICK UP THE GOLD":G = G +G4
  249. 2660  PRINT : IF MA = 1  THEN  RETURN 
  250. 2670 MA =  INT( RND(1) *4 +1): IF MA < = 2  THEN MA = 1
  251. 2680  IF MA = 1  THEN 2570
  252. 2690  RETURN 
  253. 2700  HOME : REM  NORTH SOUTH CORRIDOR
  254. 2710  PRINT 
  255. 2720  PRINT "YOU ENTER A NORTH-SOUTH CORRIDOR"
  256. 2730  PRINT "THRU A SECRET DOOR": PRINT : GOSUB 4310
  257. 2740  RETURN 
  258. 2750  HOME : REM  EAST WEST CORRIDOR
  259. 2760  PRINT 
  260. 2770  PRINT "YOU ENTER AN EAST-WEST CORRIDOR"
  261. 2780  GOTO 2730
  262. 2790  REM  TRAP DOOR
  263. 2795  FOR I = 1 TO 5: PRINT B$: NEXT I
  264. 2800  PRINT "YOU ACTIVATED A ...TRAP DOOR"
  265. 2810  GOSUB 440
  266. 2820 TD =  INT( RND(1) *4 +1)
  267. 2830  IF TD > = 3  THEN 2880
  268. 2840  PRINT 
  269. 2850  PRINT "BUT...YOU CAUGHT YOURSELF"
  270. 2860  PRINT "FROM FALLING"
  271. 2870  RETURN 
  272. 2880  IF L1 = 2  THEN 2990
  273. 2890 L1 = L1 +1: PRINT :K = 1
  274. 2900  PRINT "YOU FELL THRU TO LEVEL 2 ...AND"
  275. 2910 G = 100
  276. 2920  GOSUB 440
  277. 2930  PRINT 
  278. 2940  PRINT "YOU..............LOST"
  279. 2950  PRINT "MOST OF YOUR GOLD": PRINT 
  280. 2960  PRINT "YOU HAVE..";G;" PIECES OF GOLD LEFT"
  281. 2970  PRINT "BUT....YOU STILL HAVE YOUR KEY"
  282. 2980  RETURN 
  283. 2990  PRINT "YOU FELL INTO A DEEP...PIT"
  284. 3000  GOSUB 440
  285. 3010  PRINT "YOU'RE LUCKY...."
  286. 3020  PRINT "YOU DIDN'T GET HURT"
  287. 3030  PRINT 
  288. 3040  GOSUB 440
  289. 3050  PRINT "BUT IN CLIMBING OUT..."
  290. 3060  GOTO 4230
  291. 3070  PRINT "YOU ARE AT A STAIRWAY"
  292. 3080  PRINT "......GOING UP"
  293. 3090  PRINT 
  294. 3100  RETURN 
  295. 3110  PRINT "O  ";
  296. 3120  RETURN 
  297. 3130  PRINT "M  ";
  298. 3140  RETURN 
  299. 3150  PRINT "?  ";
  300. 3160  RETURN 
  301. 3170  PRINT "NS ";
  302. 3180  RETURN 
  303. 3190  PRINT "EW ";
  304. 3200  RETURN 
  305. 3210  GOTO 3150
  306. 3220  PRINT "UP ";
  307. 3230  RETURN 
  308. 3240  REM  Y=PX
  309. 3250  GOSUB 4330
  310. 3260  GOSUB 3800
  311. 3270  GOSUB 3840:Y = P *X
  312. 3280  PRINT "Y = ";P;"X"
  313. 3290  PRINT : PRINT "IF Y= ";Y;" THEN SOLVE FOR X"
  314. 3300  PRINT : INPUT A1
  315. 3310  IF A1 = X  THEN 3350
  316. 3320  REM  LOSE GOLD
  317. 3330  GOSUB 4000
  318. 3340  RETURN 
  319. 3350  GOSUB 3900
  320. 3360  RETURN 
  321. 3370  REM  Y=PX-Q
  322. 3380  GOSUB 4330
  323. 3390  GOSUB 3800
  324. 3400  GOSUB 3840:Y = P *X
  325. 3410  PRINT "Y = ";P;"X - ";Q
  326. 3420  PRINT : PRINT "IF Y = ";Y -Q;" THEN SOLVE FOR X"
  327. 3430  PRINT : INPUT A1
  328. 3440  IF A1 = X  THEN 3470
  329. 3450  GOSUB 4000
  330. 3460  RETURN 
  331. 3470  GOSUB 3900
  332. 3480  RETURN 
  333. 3490  GOSUB 480
  334. 3500 H = 1:O = 9:W = 8
  335. 3510 B = 0:E = 5:R = 14
  336. 3520 C = 0:PR = 0
  337. 3530  GOTO 1010
  338. 3540  REM  Y=PX+Q
  339. 3550  GOSUB 4330
  340. 3560  GOSUB 3800
  341. 3570  GOSUB 3840:Y = P *X
  342. 3580  PRINT "Y = ";P;"X + ";Q
  343. 3590  PRINT : PRINT "IF Y = ";Y +Q;" THEN SOLVE FOR X"
  344. 3600  PRINT : INPUT A1
  345. 3610  IF A1 = X  THEN 3650
  346. 3620  REM  LOSE GOLD
  347. 3630  GOSUB 4000
  348. 3640  RETURN 
  349. 3650  GOSUB 3900
  350. 3660  RETURN 
  351. 3670  REM  X=PY+Q
  352. 3680  GOSUB 4330
  353. 3690  GOSUB 3800
  354. 3700  GOSUB 3840:X = P *Y +Q
  355. 3710  PRINT "X = ";P;"Y + ";Q
  356. 3720  PRINT : PRINT "IF Y = ";Y;" THEN SOLVE FOR X"
  357. 3730  PRINT : INPUT A1
  358. 3740  IF A1 = X  THEN 3780
  359. 3750  REM  LOSE GOLD
  360. 3760  GOSUB 4000
  361. 3770  RETURN 
  362. 3780  GOSUB 3900
  363. 3790  RETURN 
  364. 3800  PRINT "YOU MAY NOT PASS THRU UNTIL"
  365. 3810  PRINT "YOU SOLVE THIS EQUATION FOR X"
  366. 3820  PRINT 
  367. 3830  RETURN 
  368. 3840  REM  RANDOM ROUTINE
  369. 3850 X =  INT( RND(1) *50/L1 +1):P =  INT( RND(1) *50/L1 +1)
  370. 3860 Y =  INT( RND(1) *50/L1 +1):Q =  INT( RND(1) *50/L1 +1)
  371. 3870  GOSUB 440
  372. 3880  GOSUB 440
  373. 3890  RETURN 
  374. 3900  PRINT "C<CTRL-G>O<CTRL-G>R<CTRL-G>R<CTRL-G>E<CTRL-G>C<CTRL-G>T<CTRL-G>"
  375. 3910 G4 =  INT( RND(1) *400/L1 +1) +25
  376. 3920 G = G +G4
  377. 3930  GOSUB 440
  378. 3940  PRINT "YOU WIN ";G4;" PIECES OF GOLD"
  379. 3950 A(C,D,L1) = 1
  380. 3960 CA = CA +1: IF K = 1  THEN  RETURN 
  381. 3970  IF L1 = 1  THEN 4210
  382. 3980  IF CA = K4  THEN 4090
  383. 3990  RETURN 
  384. 4000  PRINT 
  385. 4002  FOR I = 1 TO 225:Q =  PEEK(V) + PEEK(V): NEXT I
  386. 4010  PRINT "INCORRECT"
  387. 4020  PRINT "THE CORRECT ANSWER IS ";X
  388. 4030  PRINT 
  389. 4040 G4 =  INT( RND(1) *350/L1 +1)
  390. 4050 G = G -G4
  391. 4060  GOSUB 440
  392. 4070  PRINT "YOU LOSE ";G4;" PIECES OF GOLD"
  393. 4080  RETURN 
  394. 4090  GOSUB 440
  395. 4100 K = 1
  396. 4110  PRINT : FOR I = 1 TO 5: PRINT B$: NEXT I: PRINT "YOU HAVE FOUND THE ENCHANTED KEY..."
  397. 4120  GOSUB 440
  398. 4130  RETURN 
  399. 4140  PRINT "YOU DISTURBED A MONSTER IN THIS CHAMBER"
  400. 4150  GOSUB 440
  401. 4160  PRINT "AND HE SPEAKS.............": PRINT 
  402. 4170  GOSUB 440
  403. 4180  RETURN 
  404. 4190  GOSUB 4100
  405. 4200  GOTO 1200
  406. 4210  IF CA = CB  THEN 4090
  407. 4220  RETURN 
  408. 4230 G = 100: GOSUB 440: PRINT 
  409. 4240  PRINT "YOU..........DROPPED"
  410. 4250  PRINT "MOST OF YOUR GOLD."
  411. 4260  PRINT "YOU HAVE...";G;" PIECES OF GOLD LEFT"
  412. 4270  RETURN 
  413. 4280  PRINT "YOU ANSWERED ";CA;" QUESTIONS CORRECTLY"
  414. 4290  PRINT "OUT OF ";TR;" QUESTIONS ASKED,": PRINT ".....IN ";M1;" TURNS."
  415. 4300  RETURN 
  416. 4310  PRINT "THE DOOR CLOSES AND LOCKS BEHIND YOU": GOSUB 440
  417. 4320  RETURN 
  418. 4330  PRINT "HALT...I AM THE KEEPER"
  419. 4340  PRINT "OF.............ALGEBRA"
  420. 4350  PRINT : RETURN 
  421. 4360  REM  X=PY
  422. 4370  GOSUB 4330
  423. 4380  GOSUB 3800
  424. 4390  GOSUB 3840:X = P *Y
  425. 4400  PRINT "X = ";P;"Y"
  426. 4410  GOTO 3720
  427. 4420  REM  X=PY-Q
  428. 4430  GOSUB 4330
  429. 4440  GOSUB 3800
  430. 4450  GOSUB 3840:X = P *Y -Q
  431. 4460  PRINT "X = ";P;"Y - ";Q
  432. 4470  GOTO 3720